@echo off
chcp 65001 > nul

echo 拉取最新代码
cd /d E:\workspace\yc-sole

echo 重新打包 远昌管家 前台程序
cd /d E:\workspace\yc-sole\yc-sole-admin-web
call npm run build:prod
echo 远昌管家 前台程序 打包成功

echo 重新打包 远昌管家 手机端程序
cd /d E:\workspace\yc-sole\yc-sole-vant
call npm run build
echo 远昌管家 手机端程序 打包成功

echo 停止 远昌管家 前台程序
taskkill /F /IM nginx.exe
timeout /t 1 /nobreak >nul

call git pull
echo 启动 远昌管家 前台程序
cd /d E:\dev\nginx-1.25.4\
start nginx.exe
timeout /t 1 /nobreak >nul

echo 停止 远昌管家 后台程序
taskkill /F /IM java.exe
taskkill /F /IM javaw.exe
timeout /t 1 /nobreak >nul

echo 设置Maven的环境变量
set MAVEN_HOME=E:\dev\apache-maven-3.8.6
set PATH=%PATH%;%MAVEN_HOME%\bin
 
echo 设置Java的环境变量
set JAVA_HOME=E:\dev\jdk-17.0.6
set PATH=%PATH%;%JAVA_HOME%\bin

echo 重新打包 远昌管家 后台程序
cd /d E:\workspace\yc-sole\yc-sole
call mvn clean install
echo 远昌管家 后台程序 打包成功

set JAVA_OPTS=-Xmx1024m -Xms512m
echo 设置 远昌管家 后台程序 Java虚拟机参数 %JAVA_OPTS%
timeout /t 1 /nobreak >nul

set JAR_PATH="E:\workspace\yc-sole\yc-sole\sole-admin-web\target\sole-admin-web.jar"
echo 设置 远昌管家 后台程序 JAR文件路径 %JAR_PATH%
timeout /t 1 /nobreak >nul

SET PROFILE_ACTIVE = "--spring.profiles.active=test"
echo 设置 远昌管家 后台程序 配置文件 %PROFILE_ACTIVE %
timeout /t 1 /nobreak >nul

echo 开始启动 远昌管家 后台程序...
start "SpringBootApp" javaw %JAVA_OPTS% -jar %JAR_PATH% %PROFILE_ACTIVE %
echo 正在启动 远昌管家 后台程序

timeout /t 10 /nobreak >nul
REM 启动一个循环检测Spring Boot是否已启动完成

set /A count=5

:check_running
tasklist | findstr "java.exe" | findstr "javaw.exe" | findstr "SpringBootApp" >nul
if errorlevel 1 (
   echo 远昌管家 后台程序 启动完成！倒计时%count%秒后自动关闭此窗口
   goto countdown
) else (
    timeout /t 5 >nul
    goto check_running
)


:countdown
echo %count%

REM 减少计数器
set /A count-=1

REM 等待一秒
timeout /t 1 >nul

REM 检查是否继续倒计时
if %count% gtr 0 goto countdown

REM 关闭 CMD 窗口
exit